#pragma once

#include "GLMesh.h"
#include "GLCurve.h"
#include <memory>

using GLMeshPtr = std::shared_ptr<GLMesh>;
using GLCurvePtr = std::shared_ptr<GLCurve>;

// 场景类
class GLScene
{
public:
	GLScene();

	void AddMesh(GLMeshPtr mesh, GLenum mode);
	void AddCurve(GLCurvePtr curve);
	void Draw() const;

	void AddTexture(const char* path, int i);

private:
	std::vector<GLMeshPtr> m_meshes;
	std::vector<GLenum> m_modes;
	std::vector<GLCurvePtr> m_curves;
};
